import axios from 'axios'
import storage from '../utils/storage'
import {message} from 'antd'

let http = axios.create({
    baseURL:'/api',
    timeout:15000, ////超时设置
    withCredentials:true, ////携带本地平局 

})

//!全局前置钩子
////配置全局拦截    对接口的请求进行统一处理
http.interceptors.request.use((config:any) =>{
    ////先获取本地token，然后携带给后端
    let token = storage.get('lh-token')
    config.headers['authorization'] = token
    ////config就是所有的请求配置
    
    return config   //!放行   如果不return那么不能真正的将请求发出
})


////配置相应拦截    对错误进行统一处理

http.interceptors.response.use((config:any) =>{
    console.log('config',config);
    
    if(!config.data.state){
        ////弹出错误提示
        // MessageBox({
        //     message:config.data.msg,
        //     title:'错误提示',
        //     type:'error'
        // })
    }
    if(config.data.code==='10022' || config.data.code==='1004'){
        ////登录过期
        // message.error('登录过期,请重新登录')
        message.error(config.data.msg)
        localStorage.removeItem('lh-token')
        // location.reload()
    }   
    
    return config   //!放行   如果不return axios请求就拿不到响应数据
})





export default http